//1. 安装 mongoose  `npm i mongoose`
//2. 导入 mongoose
const mongoose = require("mongoose");

//3. 连接数据库    协议       主机名    端口   数据库名称
mongoose.connect("mongodb://127.0.0.1:27017/h5220731"); // 如果数据库不存在, mongoose 会自动创建数据库

//4. 声明连接的回调
mongoose.connection.on("open", () => {
  //该回调会在数据库连接成功之后, 自动执行
  // console.log('连接成功')
  //5. 声明文档结构对象   声明文档的结构, 包括文档的属性, 以及属性值的类型
  let BookSchema = new mongoose.Schema({
    author: String,
    price: Number,
    title: String,
  });
  //6. 创建文档模型对象           集合名称   结构对象
  let BookModel = mongoose.model("book", BookSchema); // 集合名称最终会转为复数, 称为真正的『集合名字』

  //属性筛选
  // BookModel.find().select({title: 1, _id: 0}).exec((err, data) => {
  //   if(err) throw err;
  //   console.log(data);
  // });
  
  //排序
  // BookModel.find().sort({price: -1}).exec((err, data) => {
  //   if(err) throw err;
  //   console.log(data);
  // })

  //数据的截取  分页  skip 跳过   limit 限制
  // skip 跳过多少条
  // limit 取多少条
  // 
  BookModel.find().skip(9).limit(10).sort({price: 1}).exec((err, data) => {
    if(err) throw err;
    console.log(data);
  })


});

mongoose.connection.on("error", () => {
  //该回调会在数据库连接失败之后, 自动执行
  console.log("连接失败");
});
